<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    //定义一个全局变量，触发者
    const obj = { name: 'xiaopang' }
    // 创建一个代理对象
    const proxy = new Proxy(obj, {
      get(target, key) {
        // 当访问proxy代理对象的属性时，会执行set函数
        // 将get函数的返回值作为表达式的值
        // 接收两个参数第一个参数是代理对象，第二个参数是key值,注意是代理对象的key值
        console.log(target, key);
        return target[key]
      },
      set(target, key, value) {
        // 当设置proxy代理对象的属性时，会执行set函数
        console.log('自定义set操作', value);
        target[key] = value
        return true
      }
    })
    proxy.age = 19
    console.log(obj, proxy);
  </script>
</body>

</html>